package mististore;

import java.util.List;

import java.util.List;

import javax.jdo.PersistenceManager;
import javax.jdo.Query;
import javax.jdo.Query;

public class PedidoDatos {
	
	private static final int FETCH_MAX_RESULTS=100;  
      
    /** 
     * Almacenamiento de un nuevo tutorial 
     * @param autor nombre del autor 
     * @param tituloTutorial titulo del tutorial 
     */  
    public static void insert(final String Id, final String corr, final String fe_pa, final Integer nu_op){  
          
        // recuperacion del gestor de persistencia de JDO  
        final PersistenceManager persistenceManager = PMF.get().getPersistenceManager();  
          
        // creamos un nuevo tutorial y los insertamos en el datastore  
        final Pedido pedido = new Pedido(Id,corr,fe_pa,nu_op);        
        persistenceManager.makePersistent(pedido);  
    }     
    
    @SuppressWarnings("unchecked")  
    //devuelve todos los productos ordenados por la fecha
    public static List<Pedido> getPedidosOrPorFecha() {
        // recuperación del gestor de persistencia de JDO  
        final PersistenceManager persistenceManager = PMF.get().getPersistenceManager();  

        Query query = persistenceManager.newQuery(Pedido.class);
        query.setOrdering("fecha");
        query.setRange(0, FETCH_MAX_RESULTS);  
          
        // devolución de resultados  
        return (List<Pedido>) query.execute();
    }  
    
    @SuppressWarnings("unchecked")  
    //Busca los datos especificos por un ID    
    public static List<Pedido> filtrarPorId(String Id) {
        // recuperación del gestor de persistencia de JDO  
        final PersistenceManager persistenceManager = PMF.get().getPersistenceManager();  

        Query query = persistenceManager.newQuery(Producto.class);
        query.setFilter("Id_pedido == '"+Id+"'");
        query.setRange(0, FETCH_MAX_RESULTS);           
        // devolución de resultados  
        return (List<Pedido>) query.execute();
    } 
    
    @SuppressWarnings("unchecked")  
    public static List<Pedido> filtrarPorCorreo(String Corr) {
        // recuperación del gestor de persistencia de JDO  
        final PersistenceManager persistenceManager = PMF.get().getPersistenceManager();  

        Query query = persistenceManager.newQuery(Producto.class);
        query.setFilter("correo == '"+Corr+"'");
        query.setRange(0, FETCH_MAX_RESULTS);  
          
        // devolución de resultados  
        return (List<Pedido>) query.execute();
    } 
    
}